Data storage systems are arrangements of hardware and software that include storage processors coupled to arrays of non-volatile storage devices, such as magnetic disk drives, electronic flash drives, and/or optical drives, for example. The storage processors service storage requests, arriving from host machines (“hosts”), which specify files or other data elements to be written, read, created, deleted, and so forth. Software running on the storage processors manages incoming storage requests and performs various data processing tasks to organize and secure the data elements stored on the non-volatile storage devices.
Data storage systems commonly arrange non-volatile storage devices according to RAID protocols. As is known, RAID (redundant array of independent disks) is a technique for storing data redundantly across multiple disk drives through the use of mirroring and/or parity. RAID systems commonly arrange disk drives in RAID groups, and RAID control software automatically translates writes directed to RAID groups to redundant writes across multiple disk drives.
A storage processor in a data storage system may store configuration data for a particular RAID group. If a RAID group changes, e.g., as a result of swapping out a failed disk drive for a spare, the storage processor updates its configuration data to reflect the presence of the spare, thus ensuring that the storage processor directs reads and writes to proper disk drives going forward.